package com.haohan.platform.service.sys.modules.xiaodian.api.service;

import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.env.Environment;
import org.springframework.core.type.AnnotatedTypeMetadata;

/**
 * 纯Spring自定义条件类：控制BankPayService是否加载
 */
public class PayServiceCondition implements Condition {
    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
        // 1. 获取Spring环境配置（读取application.properties）
        Environment env = context.getEnvironment();
        
        // 2. 读取开关配置：pay.service.enable，默认返回false（不加载）
        // 逻辑：仅当配置文件中pay.service.enable=true时，才加载BankPayService
        return Boolean.parseBoolean(env.getProperty("pay.service.enable", "false"));
    }
}